#include<stdio.h>
void swap_wrong2(int *a,int *b)
{
    int *c;
    *c=*a;*a=*b;*b=*c;
}
void swap(int *a,int *b)
{
    int c;
    c=*a;*a=*b;*b=c;
}
void swap_wrong(int a,int b)
{
    int c;
    c=a;a=b;b=c;
}
void swap_bit(int *a,int *b)
{
    *a^=*b;
    *b^=*a;
    *a^=*b;
}
void swap_add(int*a,int*b)
{
    *a=*a+*b;
    *b=*a-*b;
    *a=*a-*b;
}
int main()
{
    int a=3,b=4;
    swap(&a,&b);
    printf("%d %d\n",a,b);
    swap_bit(&a,&b);
    printf("%d %d\n",a,b);
    swap_add(&a,&b);
    printf("%d %d\n",a,b);
    return 0;
}
